﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Xejen.Ipc.Framework.Steps
{
    /// <summary>
    /// 表示控制流过程中的步骤实例
    /// </summary>
    /// <creator>marc</creator>
    public interface IStepInstance
    {
        /// <inheritdoc cref="IStep{TData}.Id" path="/summary"/>
        int Id { get; }
        /// <inheritdoc cref="IStep{TData}.Name" path="/summary"/>
        string Name { get; }
        /// <summary>
        /// 步骤的执行开始时间
        /// </summary>
        DateTime? CycleStartTime { get; }
        /// <summary>
        /// 步骤的结束时间
        /// </summary>
        DateTime? CycleEndTime { get; }
        /// <summary>
        /// 步骤内执行时间，即扫描周期。这里记录的值是上一个周期的扫描时间，本次周期因为没有循环完，是无法计算的。
        /// </summary>
        TimeSpan? CycleExecutionTime { get; }
    }
}
